Digital computers are often used to process and manipulate images. The images may be photographic, if generated externally from the computer, from, for example, a photograph. Alternatively, an image may be graphic, that is, generated entirely by the computer under control of a program or an operator. In either case, the computer may be used to modify the image, for example rotate or process the image, to enhance it or to provide additional information relating to the image to the viewer on a display screen.
A typical image comprises a plurality of picture elements, termed "pixels" or "pels," with the pixels comprising the smallest element of an image which may be processed or displayed. Each pixel is represented by a digital data word, having a selected number of bits, which represents a color or gray scale value (i.e., intensity) of the pixel. Generally, the image is stored in a video memory array of n.times.m words, where "n" and "m" identify the number of pixels in each row and column in a rectangular image. To display the image, the digital data words are sequentially read row by row from the video memory array and converted to analog form for display by the video display.
The video display generally has to be refreshed periodically, typically every one-thirtieth of a second, and so each location in the video memory array must be accessed at the same rate. The refresh is required by the video display memory hardware and cannot be interrupted without disrupting the displayed image. Problems arise if the digital image data stored in the video memory array is also used for the computations required for the processing of the image, since video memory accesses requested by the processor must be delayed if the video memory array is contemporaneously being accessed for the video display refresh. Since image processing is generally computationally intensive, such delays in servicing access requests by the processor will delay processing, potentially significantly degrading performance of the system.
Although there are display systems which include both a separate display memory which holds the image data to be displayed and an image memory which holds the image data to be processed, these systems have the disadvantage that the processed image data in the image memory must be copied into the display memory when the image data in the image memory is changed during processing. However, in this arrangement the processor may also be delayed while the image memory is being accessed to obtain image data for transfer to the display memory.